; ROBOT "DRAGON" BY DOUG HOGG

BEGIN
  223 TO S
  IF Y > 127 GOTO CHECKDOWN
  IF X < 127 GOTO SLOWUP
  GOTO SLOWRIGHT
CHECKDOWN
  IF X > 127 GOTO SLOWDOWN
  GOTO SLOWLEFT

GOUP
  0 TO K TO H
  0 - S TO V TO SPEEDY
  GOSUB MOVEIT
SLOWUP
  30 + R * 4 TO SPEEDY

GORIGHT
  90 TO K
  0 TO V
  S TO H TO SPEEDX
  1000 * 3 TO J
  GOSUB MOVEIT
SLOWRIGHT
  0 - R - 30 - 5 * 4 TO SPEEDX

GODOWN
  180 TO K
  S TO V TO SPEEDY
  0 TO H
  GOSUB MOVEIT
SLOWDOWN
  0 - R - 30 - 5 * 4 TO SPEEDY

GOLEFT
  270 TO K
  0 TO V
  0 - S TO H TO SPEEDX
  10 TO I
  IF 5 < W TO I
  I TO W
  GOSUB MOVEIT
SLOWLEFT
  30 + R * 4 TO SPEEDX
  GOTO GOUP

MOVEIT
  K - 8 TO L
  K + 90 TO M
  N - 5 TO RADAR
  K + 180 TO O
  24 - RADAR TO R
  IF R > 0 N - 2 TO AIM
  IF R > 0 TO T TO SHOT
  IF T = 1 DATA + 1 TO DATA
  INDEX + 1 TO INDEX
  > 4 1 TO INDEX
  IF DATA < 2 K - 17 TO AIM
  IF DATA > 1 K + 85 TO AIM
  IF R < 24 205 TO SHOT
  0 = H TO SPEEDX
  = V TO SPEEDY
  K + 203 TO N
  1 TO G TO T
  GOSUB MT
  ENDSUB

LOOKBACK
  O TO RADAR
  0 - RADAR TO R
  > 0 O TO AIM
  IF R > 0 R + 27 TO SHOT
  -256 - R TO R
  IF R < 0 > -105 ENDSUB
BACKSHOT
  N - 4 TO N TO RADAR
  25 - RADAR TO R
  > 25 TO T
  > 25 N - 1 TO AIM
  IF R > 25 TO SHOT
  > 25 0 TO DATA
MT
  K TO RADAR
  0 - RADAR TO R
  < 0 > -105 ENDSUB
  > 0 K TO AIM
  IF R > 0 R -10 TO SHOT
  IF R > 0 1 TO DATA

  L - 4 TO L TO RADAR
  G - 1 TO G
  < -2 ENDSUB
  0 - RADAR TO R
  > 0 TO T
  > 0 -675 * 3 / R + 20 + L TO AIM
  IF R > 0 TO SHOT
  > 0 0 TO DATA

  IF DATA < 2 GOTO LOOKBACK

  M TO RADAR
  -15 + W TO F
  0 - RADAR TO R
  > 110 J / R TO F
  IF R > 0 < 111 -3 TO F
  M + F TO AIM
  R + 24 TO SHOT
  215 TO SHOT
  GOTO MT

